package com.zhiche.lisa.bms.dao.model.fee;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 奖励费用
 * </p>
 *
 * @author liuanshun
 * @since 2019-01-29
 */
@TableName("lisa_fee_reward")
public class FeeReward extends Model<FeeReward> {

    private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.AUTO)
	private Long id;
    /**
     * 奖赏项编码
     */
	@TableField("red_code")
	private String redCode;
    /**
     * bms的开票申请主键
     */
	@TableField("bms_invoice_id")
	private String bmsInvoiceId;
    /**
     * 奖赏月
     */
	@TableField("red_month")
	private Date redMonth;
    /**
     * OTM运单号明细
     */
	@TableField("waybill_dtl_id")
	private String waybillDtlId;
    /**
     * 分供方名称
     */
	@TableField("lsp_name")
	private String lspName;
    /**
     * 分供方id
     */
	@TableField("lsp_id")
	private Long lspId;
    /**
     * 承运人类型 10-承运商, 20-车队, 30-司机
     */
	@TableField("fleet_teye")
	protected String fleetTeye;
    /**
     * 实际承运人
     */
	@TableField("fleet_status")
	private String fleetStatus;
    /**
     * 实际承运人id
     */
	@TableField("fleet_id")
	private Long fleetId;
    /**
     * 司机手机号
     */
	@TableField("driver_phone")
	private String driverPhone;
    /**
     * 送车证号
     */
	@TableField("send_car_pass")
	private String sendCarPass;
    /**
     * 类型; 0-票内, 1-票外
     */
	@TableField("invoice_type")
	protected Integer invoiceType;
    /**
     * 奖赏方式
     */
	@TableField("red_way")
	private String redWay;
    /**
     * 奖赏项目
     */
	@TableField("red_item")
	private String redItem;
    /**
     * 奖赏原因
     */
	@TableField("red_cause")
	private String redCause;
    /**
     * 奖赏金额
     */
	@TableField("red_sum")
	private BigDecimal redSum;
    /**
     * 考核部门
     */
	@TableField("red_dep")
	private String redDep;

	/**
	 * 运输方式
	 */
	@TableField("transport_type_name")
	private String transportTypeName;
    /**
     * 创建时间
     */
	@TableField("gmt_create")
	private Date gmtCreate;
    /**
     * 修改时间
     */
	@TableField("gmt_modify")
	private Date gmtModify;
    /**
     * 0-未上传 1-已上传
     */
	@TableField("is_put")
	protected Integer isPut;
	/**
	 * 上传bms人
	 */
	@TableField("put_username")
	private String putUsername;
    /**
     * 是否生成C端奖赏 0-否 1-是
     */
	@TableField("is_create")
	protected Integer isCreate;
    /**
     * 总奖赏金额
     */
	private BigDecimal amount;
    /**
     * 已执行金额
     */
	@TableField("perform_sum")
	private BigDecimal performSum;
    /**
     * 剩余金额
     */
	@TableField("balance_sum")
	private BigDecimal balanceSum;
    /**
     * 是否挂起
     */
	@TableField("is_hang")
	protected Integer isHang;
    /**
     * bms执行金额
     */
	@TableField("bms_sum")
	private BigDecimal bmsSum;
	/**
	 * bms执行剩余金额
	 */
	@TableField("bms_balance")
	private BigDecimal bmsBalance;
	/**
	 * 备注说明
	 */
	private String descr;
    /**
     * 创建人
     */
	private Long creator;
	/**
	 * 创建人
	 */
	@TableField("create_username")
	private String createUsername;
	private Long proprietor;
    /**
     * 租户
     */
	@TableField("tenant_id")
	private Long tenantId;
	/**
	 * 关闭状态标识
	 */
	@TableField("close_flag")
	private Integer closeFlag;
	/**
	 * 关闭原因
	 */
	@TableField("close_reason")
	private String closeReason;


	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getRedCode() {
		return redCode;
	}

	public void setRedCode(String redCode) {
		this.redCode = redCode;
	}

	public String getBmsInvoiceId() {
		return bmsInvoiceId;
	}

	public void setBmsInvoiceId(String bmsInvoiceId) {
		this.bmsInvoiceId = bmsInvoiceId;
	}

	public Date getRedMonth() {
		return redMonth;
	}

	public void setRedMonth(Date redMonth) {
		this.redMonth = redMonth;
	}

	public String getWaybillDtlId() {
		return waybillDtlId;
	}

	public void setWaybillDtlId(String waybillDtlId) {
		this.waybillDtlId = waybillDtlId;
	}

	public String getLspName() {
		return lspName;
	}

	public void setLspName(String lspName) {
		this.lspName = lspName;
	}

	public Long getLspId() {
		return lspId;
	}

	public void setLspId(Long lspId) {
		this.lspId = lspId;
	}

	public String getFleetTeye() {
		return fleetTeye;
	}

	public void setFleetTeye(String fleetTeye) {
		this.fleetTeye = fleetTeye;
	}

	public String getFleetStatus() {
		return fleetStatus;
	}

	public void setFleetStatus(String fleetStatus) {
		this.fleetStatus = fleetStatus;
	}

	public Long getFleetId() {
		return fleetId;
	}

	public void setFleetId(Long fleetId) {
		this.fleetId = fleetId;
	}

	public String getDriverPhone() {
		return driverPhone;
	}

	public void setDriverPhone(String driverPhone) {
		this.driverPhone = driverPhone;
	}

	public String getSendCarPass() {
		return sendCarPass;
	}

	public void setSendCarPass(String sendCarPass) {
		this.sendCarPass = sendCarPass;
	}

	public Integer getInvoiceType() {
		return invoiceType;
	}

	public void setInvoiceType(Integer invoiceType) {
		this.invoiceType = invoiceType;
	}

	public String getRedWay() {
		return redWay;
	}

	public void setRedWay(String redWay) {
		this.redWay = redWay;
	}

	public String getRedItem() {
		return redItem;
	}

	public void setRedItem(String redItem) {
		this.redItem = redItem;
	}

	public String getRedCause() {
		return redCause;
	}

	public void setRedCause(String redCause) {
		this.redCause = redCause;
	}

	public BigDecimal getRedSum() {
		return redSum;
	}

	public void setRedSum(BigDecimal redSum) {
		this.redSum = redSum;
	}

	public String getRedDep() {
		return redDep;
	}

	public void setRedDep(String redDep) {
		this.redDep = redDep;
	}

	public String getTransportTypeName() {
		return transportTypeName;
	}

	public void setTransportTypeName(String transportTypeName) {
		this.transportTypeName = transportTypeName;
	}

	public Date getGmtCreate() {
		return gmtCreate;
	}

	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	public Date getGmtModify() {
		return gmtModify;
	}

	public void setGmtModify(Date gmtModify) {
		this.gmtModify = gmtModify;
	}

	public Integer getIsPut() {
		return isPut;
	}

	public void setIsPut(Integer isPut) {
		this.isPut = isPut;
	}

	public String getPutUsername() {
		return putUsername;
	}

	public void setPutUsername(String putUsername) {
		this.putUsername = putUsername;
	}

	public Integer getIsCreate() {
		return isCreate;
	}

	public void setIsCreate(Integer isCreate) {
		this.isCreate = isCreate;
	}

	public BigDecimal getAmount() {
		return amount;
	}

	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	public BigDecimal getPerformSum() {
		return performSum;
	}

	public void setPerformSum(BigDecimal performSum) {
		this.performSum = performSum;
	}

	public BigDecimal getBalanceSum() {
		return balanceSum;
	}

	public void setBalanceSum(BigDecimal balanceSum) {
		this.balanceSum = balanceSum;
	}

	public Integer getIsHang() {
		return isHang;
	}

	public void setIsHang(Integer isHang) {
		this.isHang = isHang;
	}

	public BigDecimal getBmsSum() {
		return bmsSum;
	}

	public void setBmsSum(BigDecimal bmsSum) {
		this.bmsSum = bmsSum;
	}

	public BigDecimal getBmsBalance() {
		return bmsBalance;
	}

	public void setBmsBalance(BigDecimal bmsBalance) {
		this.bmsBalance = bmsBalance;
	}

	public String getDescr() {
		return descr;
	}

	public void setDescr(String descr) {
		this.descr = descr;
	}

	public Long getCreator() {
		return creator;
	}

	public void setCreator(Long creator) {
		this.creator = creator;
	}

	public String getCreateUsername() {
		return createUsername;
	}

	public void setCreateUsername(String createUsername) {
		this.createUsername = createUsername;
	}

	public Long getProprietor() {
		return proprietor;
	}

	public void setProprietor(Long proprietor) {
		this.proprietor = proprietor;
	}

	public Long getTenantId() {
		return tenantId;
	}

	public void setTenantId(Long tenantId) {
		this.tenantId = tenantId;
	}

	public Integer getCloseFlag() {
		return closeFlag;
	}

	public void setCloseFlag(Integer closeFlag) {
		this.closeFlag = closeFlag;
	}

	public String getCloseReason() {
		return closeReason;
	}

	public void setCloseReason(String closeReason) {
		this.closeReason = closeReason;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "FeeReward{" +
			", id=" + id +
			", redCode=" + redCode +
			", redMonth=" + redMonth +
			", waybillDtlId=" + waybillDtlId +
			", lspName=" + lspName +
			", lspId=" + lspId +
			", fleetTeye=" + fleetTeye +
			", fleetStatus=" + fleetStatus +
			", fleetId=" + fleetId +
			", driverPhone=" + driverPhone +
			", sendCarPass=" + sendCarPass +
			", invoiceType=" + invoiceType +
			", redWay=" + redWay +
			", redItem=" + redItem +
			", redCause=" + redCause +
			", redSum=" + redSum +
			", redDep=" + redDep +
			", transportTypeName=" + transportTypeName +
			", gmtCreate=" + gmtCreate +
			", gmtModify=" + gmtModify +
			", isPut=" + isPut +
			", isCreate=" + isCreate +
			", amount=" + amount +
			", performSum=" + performSum +
			", balanceSum=" + balanceSum +
			", isHang=" + isHang +
			", bmsSum=" + bmsSum +
			", creator=" + creator +
			", proprietor=" + proprietor +
			", tenantId=" + tenantId +
			"}";
	}
}
